package com.hengpeng.itfinoss.service.activity;

import java.util.Date;
import java.util.List;
import java.util.Set;

import com.hengpeng.common.exception.ServiceResult;
import com.hengpeng.itfinbase.en.ActivityStatus;
import com.hengpeng.itfinbase.en.ActivityType;
import com.hengpeng.itfinbase.en.CustomerType;
import com.hengpeng.itfinbase.en.PlatForm;
import com.hengpeng.itfinbase.persist.Activity;
import com.hengpeng.itfinbase.persist.Reward;

/**
 * 活动服务
 * 
 * @author liyangyang
 *
 */
public interface ActivityService {

    /**
     * 
     * @param indexPage
     * @param pageSize
     * @return
     */
    ServiceResult<List<Activity>> selectActivityPage(int indexPage, int pageSize);

    List<Reward> getRewardsByActivityId(Long id);

    Activity getActivityById();

    /**
     * 修改活动信息
     * 
     * @param id
     * @param activityName
     * @param status
     * @param customerType
     * @param platform
     * @param startDate
     * @param endDate
     * @param activityType
     * @param rewards
     * @return
     */
    Activity modify(Long id, String activityName, ActivityStatus status, CustomerType customerType, PlatForm platform,
            Date startDate, Date endDate, ActivityType activityType, Set<Reward> rewards);

    List<Reward> findRewardByIds(Long[] ids);

    Activity save(Activity activity);

}
